草庐IT

C++:替代 STL 和 Boost?

全部标签

.net - 托管 System::Diagnostics::Debugger::Launch 函数的非托管/ native 替代方案?

我有一个混合模式应用程序,如果在内部数据结构中发现错误,我想在其中启动调试器。奇怪的是,DebugBreak和__debugbreak函数似乎没有按预期工作(.Net框架似乎拦截了断点异常,导致各种讨厌的副作用)。我之前的问题的解决方案(参见BehaviorofDebugBreakdiffersbetweenunmanagedandmixed(unmanaged+managed)application?)似乎适用于非常简单的情况,但不适用于我的应用程序(它只会让我的应用程序挂起)。幸运的是,我发现执行System::Diagnostics::Debugger::Launch似乎可以解决

c# - MSBuild 无法构建 MSI。 Windows 服务是否有替代方案?

我在VisualStudio中使用安装项目(.msi)。安装步骤:在VisualStudio中build设置。将设置复制到服务器。运行设置。在services.msc中启动Windows服务更新步骤:在VisualStudio中build设置。将设置复制到服务器。在services.msc中停止Windows服务卸载Windows服务。运行设置。在services.msc中启动Windows服务我的构建服务器仅使用msbuild进行构建,无法构建安装项目(.msi)。我必须在构建服务器上安装VisualStudio,还是有更好的选择? 最佳答案

windows - TControl.Perform 的替代品

TControl.Perform代码是:varMessage:TMessage;beginMessage.Msg:=Msg;Message.WParam:=WParam;Message.LParam:=LParam;Message.Result:=0;ifSelfnilthenWindowProc(Message);Result:=Message.Result;程序执行等待返回,对吗?有一种替代方法,可以在同一个应用程序的另一个线程内的TFORM队列中发布消息,而无需等待返回?编辑这种方法可以缓解这个问题吗?interfaceconstWM_DOSTUFF=WM_APP+$001;TM

c++ - 在 Linux 上 boost windows_shared_memory

您好,我需要在Linux上构建一个项目,但它使用“boost/interprocess/windows_shared_memory.hpp”有什么方法可以在linux上运行它,或者我必须重写这段代码?谢谢 最佳答案 我认为你只需要使用#include而不是boost/interprocess/windows_shared_memory.hpp。这将处理Windows和Linux。 关于c++-在Linux上boostwindows_shared_memory,我们在StackOverfl

c++ - 我可以在 Windows 操作系统上使用本地套接字吗? - C++/boost

我可以在Windows操作系统上创建boost::asio::local::stream_protocol::socket吗?我知道它应该是一个“UNIX”套接字,但Windows不支持这个吗? 最佳答案 如果我理解正确,boost::asio::local::stream_protocol是特定于POSIX的。Windows本身不是符合POSIX的环境,但是有适用于Windows的POSIX环境,即Cygwin.但是如果不分发环境,您将无法分发这些应用程序。在某些情况下,尤其是当Unix是您的主要目标平台,并且您出于慷慨提供Win

windows - IIS 的 Fluentd 替代品

我正在分析我的网络服务器日志。我的Linux+Apache服务器一切正常,但我需要为我的Windows+IIS服务器做同样的事情。在Fluentd的常见问题解答中说不支持Windows(http://docs.fluentd.org/articles/faq#does-fluentd-run-on-windows),所以我正在寻找替代方案。你们能给我一些建议吗?提前致谢。 最佳答案 您可以在每个IIS服务器上使用nxlog,并聚合到Fluentd中。http://docs.fluentd.org/articles/windows

c++ - Boost 是否支持 Windows EnterCriticalSection API?

我知道Boost支持互斥锁和lock_guard,可用于实现临界区。但是Windows有一个用于关键部分的特殊API(参见EnterCriticalSection和LeaveCriticalSection),它比互斥锁快很多(对于很少竞争的短代码部分)。因此我的问题-在Boost中可以利用这个API,并回退到其他平台上基于自旋锁/互斥/futex的实现吗? 最佳答案 简单的答案是否定的。这里有一些相关背景fromanoldmailinglistthread:BTW.Iamagreethatmutexismoreuniversalso

c++ - Boost 1.66.0 : could not find boost libraries :boost_system, boost_filesystem、boost_thread、boost_date_time

我的配置是:操作系统:Windows10x64boost:1.66.0CMake:3.10VisualStudio:2017我正在以这种方式编译boost:bootstrap.\b2--build-dir=buildtoolset=msvcaddress-model=64--build-type=completestage运行CMake时出现此错误:couldnotfindboostlibraries:boost_systemboost_filesystemboost_threadboost_localeboost_date_time我搜索这些库,它们位于stage文件夹中。我尝试了B

"export"的 Windows 命令行替代方案

我买了一本关于机器学习的书,它需要一个环境设置。书上的代码是$exportML_PATH="$HOME/ml"$mkdir-p$ML_PATH但据我所知,这是Linux/UNIX命令,所以Windows有其他选择吗? 最佳答案 设置(答案必须最少30个字符。哦,是的,他们必须。) 关于"export"的Windows命令行替代方案,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4

c++ - windows上 Windows 系统win32框架的替代品

我想用C++开发一个不依赖于win32库的自定义窗口系统。例如,GoogleChrome的界面与Windows自己的界面不相似。同样MPCstar和adobe产品也有自己的界面。请帮我从哪里开始这样的项目? 最佳答案 可以跨平台使用Qt或wxWidgets但我认为Qt更好。 关于c++-windows上Windows系统win32框架的替代品,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/quest